In software maintenance and development, testing is needed to ensure that the software satisfies the given requirements. One area of interest includes changes to existing code, being it either for subsequent steps during initial development or changes made later to the code in the form of updates or upgrades. State of the art quality control means that testing is required to ensure that all functionality is as required by the specifications, either initial or updated.
To this end typically code-changes define the need for test activities and to provide predictions on the impact of code-changes on the product quality. In the case of object oriented programming, the relationships between the objects are important as changes in the software, which often includes changes to or within the objects, can have complex results. It is not rare that even a very small change in coding can cause a large amount of functionalities to fail.
Testing software changes in object oriented programming is known in the art. The data structures and member functions of the object classes in object oriented programming can be examined with relative easy. However, understanding the combined effects of all possible interrelations between the changed and unchanged code and objects is not trivial. A comprehensive full test that encompasses all changes is in time and effort beyond the scope for all but the most trivial programs, as the calculation times soon reach timeframes of multiple centuries and more.
It is therefore an example object of the disclosed subject matter, to which the disclosed subject matter is not limited, to provide for a method of testing software systems that provides better results, for instance by getting better test results with the same or less effort.
To achieve these and other goals the method according to the disclosed subject matter provides for a selection means to determine the relevance of possible tests. By testing the more relevant section of changes to the code, the test capacity is used to achieve better test quality.
In a different aspect of the disclosed subject matter, the selection means is used to make a better assessment of code changes on product quality. This can be of advantage during development or maintenance to estimate the quality of and risk to the changed code already before the final release has been established.